package com.heima.controller;

import com.heima.common.PageResult;
import com.heima.pojo.Node;
import com.heima.pojo.Region;
import com.heima.pojo.dto.PageNodeDto;
import com.heima.pojo.dto.PageRegionDto;
import com.heima.pojo.dto.RegionDto;
import com.heima.pojo.vo.RegionVo;
import com.heima.service.RegionService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@Slf4j
@RequestMapping("/api/vm-service")
public class RegionController {

    @Autowired
    private RegionService regionService;

    /**
     * 搜索区域
     * @param pageRegionDto
     * @return
     */
    @GetMapping("/region/search")
    public PageResult<RegionVo> searchRegion(PageRegionDto pageRegionDto) {
        PageResult<RegionVo> pageResult = regionService.searchRegion(pageRegionDto);
        return pageResult;
    }

    /**
     * 新增区域
     * @param regionDto
     * @return
     */
    @PostMapping("/region")
    public Boolean saveRegion(@RequestBody RegionDto regionDto) {
        Boolean isTrue = regionService.saveRegion(regionDto);
        return isTrue;
    }

    /**
     * 修改区域信息
     * @param regionId
     * @param regionDto
     * @return
     */
    @PutMapping("/region/{regionId}")
    public Boolean updateRegion(@PathVariable String regionId, @RequestBody RegionDto regionDto) {
        //前端传来的 regionId 是 String
        regionDto.setId(regionId);
        Boolean isTrue = regionService.updateRegion(regionDto);
        return isTrue;
    }

    /**
     * 根据regionId删除区域
     * @param regionId
     * @return
     */
    @DeleteMapping("/region/{regionId}")
    public Boolean deleteRegion(@PathVariable String regionId) {
        return regionService.deleteRegion(regionId);
    }

}
